package com.hthy.futures;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;

import com.hthy.futures.ui.activity.LoginActivity;
import com.hthy.futures.ui.activity.MainActivity;
import com.hthy.futures.utils.DialogHelp;
import com.hthy.futures.utils.LogUtils;
import com.hthy.futures.utils.SPUtils;
import com.hthy.futures.utils.StringUtils;
import com.hthy.futures.utils.TDevice;
import com.hthy.futures.utils.ToastUtil;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;


import okhttp3.Call;
import okhttp3.Request;


/**
 * 应用启动界面
 * <p>
 * 如何做到如果关闭app时间间隔比较短的话，当应用再次打开时，不会重新看到appstar页面。 TODO
 */
public class AppStart extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 防止第三方跳转时出现双实例
        Activity aty = AppManager.getActivity(MainActivity.class);
        if (aty != null && !aty.isFinishing()) {
            finish();
        }

        String queryData = SPUtils.getFromPrefs(this, AppConfig.query_data, "");

        // app 最开始进入就要最新的配置
        OkHttpUtils
                .get()//
                .url(AppConfig.TEADE_CENTER)//
                .addParams(getString(R.string.query_type), getString(R.string.config))
                .addParams(getString(R.string.query_data), !StringUtils.isEmpty(queryData) ? queryData : AppConfig.query_data)
                .build()//
                .execute(new MyStringCallback());

        setContentView(R.layout.app_start);
        findViewById(R.id.app_start_view).postDelayed(new Runnable() {
            @Override
            public void run() {
                redirectTo();
            }
        }, 1500);
    }


    /**
     * 跳转到...
     */
    private void redirectTo() {
        Intent intent = new Intent(this, LoginActivity.class);
        startActivity(intent);
        finish();
    }

    /**
     * 请求回调
     */
    public class MyStringCallback extends StringCallback {
        @Override
        public void onBefore(Request request, int id) {
            //DialogUtil.showDialog(LoginActivity.this);
        }


        @Override
        public void onError(Call call, Exception e, int id) {
            ToastUtil.show(R.string.net_tip);
        }

        @Override
        public void onResponse(String response, int id) {
            LogUtils.e("config", response);
            AppContext.parseJson(response);


        }
    }
}
